package com.example.core.request;

import org.asynchttpclient.Request;
import org.asynchttpclient.cookie.Cookie;

/**
 * @Author Peng Yisheng
 * @Date 2024/11/4 17:24
 * @Description 核心上下文基础类
 */
public interface IGatewayRequest {

    void setModifyHost(String host);  // 修改域名
    void setModifyPath(String path);  // 设置路径
    void setHeader(CharSequence name,String value);  // 设置请求头信息
    void setRequestTimeout(int requestTimeout);  // 设置请求超时时间

    String getModifyHost();  // 获取域名
    String getModifyPath();  // 获取路径
    String getFinalUrl();    // 获取最终的请求路径

    void addHeader(CharSequence name,String value);  // 添加请求头信息
    void addQueryParam(String name ,String value);   // Get 请求参数
    void addFormParam(String name ,String value);    // POST 请求参数
    void addOrReplaceCookie(Cookie cookie);          // 添加或者替换Cookie

    Request build();  // 构造最终的请求对象

}
